﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Xml.Linq;

namespace PIT.Labs.ProjectRepository.Owl2DotNet.Rdf
{
    class RdfObjectProperty : RdfEntityBase, IObjectProperty
    {
        internal IClass range;

        public RdfObjectProperty(XElement node, RdfOntology o)
            : base(node, o)
        {
            o.Insert(this);
        }

        public IEnumerable<IClass> Range
        {
            get {
                if (range == null)
                {
                    RdfXmlParser.GetRange(this);
                }
                return new IClass[] {range};
            }
        }

        public IEnumerable<IClass> Domain
        {
            get { throw new NotImplementedException(); }
        }

        public PropertyCharacteristics Characteristics
        {
            get { throw new NotImplementedException(); }
        }

        public IObjectProperty SubProperties
        {
            get { throw new NotImplementedException(); }
        }

        public IObjectProperty SuperProperties
        {
            get { throw new NotImplementedException(); }
        }
    }
}
